/*
 *
 * 名称：奇门定义
 * 功能：奇门遁甲相关功能定义
 * 作者：清河张
 * 时间：2025.05.11
 *
 */


#ifndef QMDEF_H
#define QMDEF_H
#include <qtypes.h>
#include "base/xzqm.h"

#define YSFANGAN "FANGAN"

#define YSGEJU "GJ"
#define YSXINGGONG "XG"

#define YSGUANXI "GX"
#define YSGUANXIS "GXS"
#define YSPAIFU1 "PF1"
#define YSPAIFU2 "PF2"
#define YSGXXY "GXXY"

#define YSFIELD "YS"
#define YSPAIFU "PF"
#define YSBULUO "BL"
#define YSBIANHAO "BH"
#define YSMING "MING"
#define YSXINGJI "XJ"
#define YSKONGWANG "KW"
#define YSMENPO "MP"
#define YSRUMU "RM"

#define XIANGYI "XY"


#define TITLELINE "====================================\n"
#define MSGSPLIT "----------------------------------------------------\n"

#define EQM_WEIZHI_MING "未知"

#define EQM_TESHU_MING "特殊用神"
#define EQM_YS_ZHFU_MING "值符"
#define EQM_YS_ZHSH_MING "值使"
#define EQM_YS_AAAA_MING ""
#define EQM_YS_BBBB_MING ""
#define EQM_YS_NGAN_MING "年干"
#define EQM_YS_YGAN_MING "月干"
#define EQM_YS_RGAN_MING "日干"
#define EQM_YS_SGAN_MING "时干"
#define EQM_YS_NZHI_MING "年支"
#define EQM_YS_YZHI_MING "月支"
#define EQM_YS_RZHI_MING "日支"
#define EQM_YS_SZHI_MING "时支"


enum EQM_TESHU//特殊用神编制
{
    EQM_YS_ZHFU,//值符
    EQM_YS_ZHSH,//值使
    EQM_YS_AAAA = EQM_YS_ZHFU,
    EQM_YS_BBBB = EQM_YS_ZHSH,
    EQM_YS_NGAN,//年干
    EQM_YS_YGAN,//月干
    EQM_YS_RGAN,//日干
    EQM_YS_SGAN,//时干
    EQM_YS_NZHI,//年支
    EQM_YS_YZHI,//月支
    EQM_YS_RZHI,//日支
    EQM_YS_SZHI,//时支
};

#define EQM_BULUO_MING    "部落"
#define EQM_YS_TESHU_MING "特殊"
#define EQM_YS_XING9_MING "九星"
#define EQM_YS_MMEN8_MING "八门"
#define EQM_YS_SHEN8_MING "八神"
#define EQM_YS_TPGAN_MING "天盘"
#define EQM_YS_DPGAN_MING "地盘"
#define EQM_YS_GONG9_MING "九宫"
#define EQM_YS_XTGUA_MING "先天"
#define EQM_YS_HTGUA_MING "后天"
#define EQM_YS_DIZHI_MING "地支"
#define EQM_YS_MINSH_MING "命时"


enum EQM_BULUO : unsigned{//奇门用神部落
    EQM_WEIZHI = 0xff,//未知
    EQM_YS_TESHU = 0,//特殊用神
    EQM_YS_XING9,//九星
    EQM_YS_MMEN8,//八门
    EQM_YS_SHEN8,//八神
    EQM_YS_TPGAN,//天盘干
    EQM_YS_DPGAN,//地盘干
    EQM_YS_GONG9,//九宫
    EQM_YS_XTGUA,//先天卦
    EQM_YS_HTGUA,//后天卦
    EQM_YS_DIZHI,//地支
    EQM_YS_MINSH,//命时
};


union PARAS{
#pragma pack(push, 1)
    struct
    {
        unsigned _jia : 3;//哪家
        unsigned _dingju : 3;//哪种局
        int _yydunzdy : 2;//自定义阴阳盘
        int _juzdy : 5;//自定义几局
        int _jijuzdy : 5;//自定义几局
        quint64 _resv:46;
    };
#pragma pack(pop)//公用的

    quint64 u64v;
};

#define QMDJMING(SHEN) SHEN##_MING

#endif // QMDEF_H
